QT QTreeWidget、QTableWidget、QTreeView等 自定义列宽 您所在的位置:网站首页 qtreewidget 设置字体 QT QTreeWidget、QTableWidget、QTreeView等 自定义列宽

QT QTreeWidget、QTableWidget、QTreeView等 自定义列宽

2023-08-19 15:47| 来源: 网络整理| 查看: 265

自定义这些类的列宽是通过设置header来实现的,几年前胡乱捣鼓实现过,最近又忘了,昨天搜索了一阵子,没找到方法,今天早上一搜到下面的帖子,为了再次出现浪费时间的情况,故本次特地记录一下,加深印象的同时,也希望能帮到有同样需求的同鞋~

下面两个参考,摘自:http://www.qtcn.org/bbs/read-htm-tid-34881.html,供参考

//参考①

header()->hide(); m_pHeaderView->setClickable(true);  //能够发射sectionClicked(int)信号,可做菜单,显示隐藏列:setSectionHidden(int, bool);isSectionHidden(int); m_pHeaderView->setMovable(true); m_pHeaderView->setResizeMode(0, QHeaderView::Fixed);  //固定列宽 m_pHeaderView->setDefaultSectionSize(100);  //默认

//参考②

注意:StretchLastSection 为true时,对最后一列的设置会失效。setSectionResizeMode也还有一个重载函数可以对所有列设置。     m_guiTreeWidget->header()->setStretchLastSection(false);     m_guiTreeWidget->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);     m_guiTreeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch);     m_guiTreeWidget->header()->setSectionResizeMode(2, QHeaderView::Fixed);     m_guiTreeWidget->setColumnWidth(2, 50);

 

我自己的代码是,类似于②,

    ui.treeWidget->header()->setStretchLastSection(false);     ui.treeWidget->header()->setSectionResizeMode(0, QHeaderView::Fixed);     ui.treeWidget->header()->setSectionResizeMode(1, QHeaderView::Stretch);     ui.treeWidget->header()->setSectionResizeMode(3, QHeaderView::Fixed);     //ui.treeWidget->header()->setSectionResizeMode(QHeaderView::Stretch);     ui.treeWidget->setColumnWidth(0, 300);     ui.treeWidget->setColumnWidth(2, 50);     ui.treeWidget->hideColumn(2);     ui.treeWidget->setColumnWidth(3, 300);



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有